Hitherto, synchronization techniques of most processing and switching circuitry have entailed the careful layout and the prudent use of many mechanisms such as phase-lock loops and binary-tree signal paths. These mechanisms are used to equalize delay paths to distributed nodes in a chip or system. As the speed of operation increases, however, primarily due to the reduction in transistor size, the skew and jitter of clocking signals along these paths becomes an ever increasing problem for the register-based architectures of most existing computing systems.
Clock-skew is especially problematic when the system exceeds a certain size, nominally when the delay paths become longer than a couple of centimeters. The power requirements and the transmission line effects for high-speed clock signals are not suited for standard printed-circuit board (PCB) layouts and typically limit the speed of operation to less than 100 MHz. These difficulties are compounded by the noise and coupling of multiple parallel data buses operating in unison on typical computing PCBs. The standard method for alleviating the synchronization problem has been to use asynchronous techniques such as FIFO memory buffering, control line protocols and error detecting/correcting codes. These contribute latency to the communication as well as lead to a greater amount of circuitry.
It is known to implement a distributed clock system using a set of equal length conductive wires or optical fibers arranged in a H-tree layout. U.S. Pat. No. 5,537,498, which issued to Bausman et al. on Jul. 16, 1996 is typical of this type of system developed by Cray Research Inc. However, this type of clocking structure is often difficult to calibrate. Great care must be used when cutting and connecting the wires of a T-branch to ensure that they are precisely the same length; otherwise the mismatch will cause the travelling pulses to arrive at their destinations at slightly different times, thus causing skew in the clocks. The most significant drawback to this design is the susceptibility of both the amplifiers and the connecting wires to environmental effects, such as temperature and time degradation.
Another approach is to distribute a clocking signal from a central point through some form of distribution network. These systems are exemplified in U.S. Pat. No. 4,411,007, which issued to Rodman et al. on Oct. 18, 1983, U.S. Pat. No. 5,307,381, which issued to Ahuja on Apr. 26, 1994 and U.S. Pat. No. 5,317,601, which issued to Riordan et al on May 31, 1994. These methods are generally complex and assume that the electrical characteristics of the transmission medium never change.
In another clocking arrangement, disclosed in U.S. Pat. No. 4,998,262 issued on Mar. 5, 1991 to Wiggers, two transmission lines both end-terminated with a resistor, each conduct a single pulse. Each node is attached to both lines with the first node being connected to the closer end of the first line and the farthest end of the second line. The average time between the arrival of the two pulses at any node is always the same and triggers the clocking signal for each node.
U.S. Pat. No. 5,361,277 issued to Grover on Nov. 1, 1994, discloses a further approach for providing clocking signals to a plurality of distant nodes, in which pulses are propagated along a single “open-terminated” conductor which passes every node. The pulses reflect at the open termination and the clock signal pulses are generated in dependence upon the arrival time at a node of a pulse and a “return” pulse. U.S. Pat. No. 5,734,685 (Bedell) issued Mar. 31, 1998 discloses a similar arrangement but with an extra “data” line. U.S. Pat. No. 5,712,882 (Miller) issued Jan. 27, 1998 also discloses a similar arrangement, but with an additional “data” line and a “mirror image” of the circuit.
In each of these clock synchronization arrangements, the pulses cannot be delivered at an interval shorter than the round-trip propagation delay of the transmission lines. Moreover, the arrangements cannot correct for any possible speeding-up or slowing-down in segments of the transmission line due to thermal variations, dielectric variations or other factors which can change propagation velocity within the medium.